Spy: A flexible code profiling framework
نویسندگان
چکیده
Code profiling is an essential activity to increase software quality. It is commonly employed in a wide variety of tasks, such as supporting program comprehension, determining execution bottlenecks, and assessing code coverage by unit tests. SPY is an innovative framework to easily build profilers and visualize profiling information. The profiling information is obtained by inserting dedicated code before or after method execution. The gathered profiling information is structured in line with the application structure in terms of packages, classes, and methods. SPY has been instantiated on four occasions so far. We created profilers dedicated to test coverage, time execution, type feedback, and profiling evolution across version. We also integrated SPY in the Pharo IDE. SPY has been implemented in the Pharo Smalltalk programming language and is available under the MIT license.
منابع مشابه
Preemptive mobile code protection using spy agents
This thesis introduces ‘spy agents’ as a new security paradigm for evaluating trust in remote hosts in mobile code scenarios. In this security paradigm, a spy agent, i.e. a mobile agent which circulates amongst a number of remote hosts, can employ a variety of techniques in order to both appear ‘normal’ and suggest to a malicious host that it can ‘misuse’ the agent’s data or code without being ...
متن کاملSpy Agents: Evaluating Trust in Remote Environments
We introduce the notion of spy agents and describe how they can be deployed within diverse network protocol architectures in order to perform high fidelity trust assessments in remote environments. The spy agent framework developed here consists of: a spy agent structural architecture that instruments and instantiates spy agents with appropriate content; a spy agent routing framework that fabri...
متن کاملiProbe: A Lightweight User-Level Dynamic Instrumentation Framework
Application tracing in production systems requires dynamic and flexible instrumentation mechanisms with lowoverhead. Tracing tools may be required to be started at anytime, and it can take potentially long time periods to collect enough information, but at the same time should not adversely affect service quality. Existing user-space code monitoring solutions are either inflexible developer-dri...
متن کاملA Portable and Customizable Profiling Framework for Java Based on Bytecode Instruction Counting
Prevailing profilers for Java, which rely on standard, native-code profiling interfaces, are not portable, give imprecise results due to serious measurement perturbation, and cause excessive overheads. In contrast, program transformations allow to generate reproducible profiles in a fully portable way with significantly less overhead. This paper presents a profiling framework that instruments J...
متن کاملSpy Game in trees and grids
In the Spy game, a spy is placed first at some vertex of a graph G. Then, k > 0 guards are also occupying some vertices of G. At each turn, the spy moves at speed s ≥ 2, i.e., along at most s edges and then, each guard moves at speed 1. The spy and any number of guards may occupy the same vertex. The goal of the guards is to control the spy at distance d ≥ 0, i.e., to ensure that, at every turn...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Computer Languages, Systems & Structures
دوره 38 شماره
صفحات -
تاریخ انتشار 2012